In a client-server model, the client machine submits a request for processing to a server system. The server system services the request and returns the results to the client machine. Depending on implementation, a server may service a request either synchronously or asynchronously.
In a synchronous model, the client typically establishes a communication session with the server when a request is submitted to the server. If the request cannot be completed within a predetermined time, the session is terminated and the client will have to submit the request again.
In an asynchronous model, the submitted request by the client is added to a queue. Typically, no session needs to be established between the server and the client. The request is processed asynchronously by the server from the queue when possible.